Enterprises desire innovative solutions to their growing informational and computational needs. Conventional enterprise-level computing systems employ thin clients, which depend heavily on a cumbersome multi-layer hardware infrastructure (e.g., a server) to effectuate traditional computer functionality. The thin client stands in contrast to a traditional computer that is designed to perform computing locally. The most common type of modern thin client is a low-end computer terminal capable of providing a graphical user interface to an end-user, but not much else. The remaining functionality, in particular the operating system, is provided by a server. Such technology is often burdened with latency and expensive computation costs attributed to implementing hierarchical networking architectures (e.g., Local Access Networks (LANs)).
Other computing technologies are transitioning away from traditional networking/storage architectures and towards flat architectures. With respect to large data centers, for example, common hierarchical networking architectures are no longer suitable for large data centers due to high latency costs and complex software. Typical flat architectures (e.g., Microsoft® Flat Datacenter Storage) are parallelized, representing a major shift from the hierarchical architectures, and interconnect virtual machines and virtual storage volumes across switched Ethernet fabrics. Some existing flat architectures distribute the virtual storage volumes across nodes where data is stored and at some point, transmitted over a network to be processed elsewhere. Other architectures are configured to access locally stored data and distribute computing tasks amongst computing nodes in order to avoid transmitting the data over a network.
While the flat architectures provide many benefits, the enterprise-level computing systems, unlike the large data centers, present a different set of requirements that are not fulfilled with current technologies. For example, such systems need to satisfy different end-user performance standards (e.g., a stricter level of acceptable performance and end-user satisfaction). Current trends indicate that enterprise-level computing systems tend to be constrained by the rigidity of traditional hierarchical architecture and are transitioning towards implementing flat architectures. Because such flat architectures are designed for the large data centers, native interfaces are not suitable for block-level input/output between stored data and the end-user computing device.